package com.qezhhnjy.huawei.topic2;

import java.util.Scanner;

/**
 * @author qezhhnjy
 * @date 2021/6/20-21:19
 * 1、对输入的字符串进行加解密，并输出。
 * 2、加密方法为：
 * 当内容是英文字母时则用该英文字母的后一个字母替换，同时字母变换大小写,如字母a时则替换为B；字母Z时则替换为a；
 * 当内容是数字时则把该数字加1，如0替换1，1替换2，9替换0；
 * 其他字符不做变化。
 * 3、解密方法为加密的逆过程。
 * <p>
 * 本题含有多组样例输入。
 * 输入描述：
 * 输入说明
 * 输入一串要加密的密码
 * 输入一串加过密的密码
 * <p>
 * 输出描述：
 * 输出说明
 * 输出加密后的字符
 * 输出解密后的字符
 * <p>
 * 示例1
 * 输入：
 * abcdefg
 * BCDEFGH
 * 输出：
 * BCDEFGH
 * abcdefg
 */
public class Topic29 {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        while (in.hasNext()) {
            // 需要加密
            String encrypt = in.nextLine();
            // 需要解密
            String decrypt = in.nextLine();
            System.out.println(encrypt(encrypt));
            System.out.println(decrypt(decrypt));
        }
    }

    private static String decrypt(String decrypt) {
        char[] result = new char[decrypt.length()];
        char[] charArray = decrypt.toCharArray();
        for (int i = 0, charArrayLength = charArray.length; i < charArrayLength; i++) {
            char c = charArray[i];
            if (c == 'a') result[i] = 'Z';
            else if (c == 'A') result[i] = 'z';
            else if (c == '0') result[i] = '9';
            else if ('1' <= c && c <= '9') result[i] = (char) (c - 1);
            else if ('B' <= c && c <= 'Z') result[i] = (char) (c + 32 - 1);
            else if ('b' <= c && c <= 'z') result[i] = (char) (c - 32 - 1);
        }
        return new String(result);
    }

    private static String encrypt(String encrypt) {
        char[] result = new char[encrypt.length()];
        char[] charArray = encrypt.toCharArray();
        for (int i = 0, charArrayLength = charArray.length; i < charArrayLength; i++) {
            char c = charArray[i];
            if (c == 'Z') result[i] = 'a';
            else if (c == 'z') result[i] = 'A';
            else if (c == '9') result[i] = '0';
            else if ('0' <= c && c <= '8') result[i] = (char) (c + 1);
            else if ('a' <= c && c <= 'y') result[i] = (char) (c - 32 + 1);
            else if ('A' <= c && c <= 'Y') result[i] = (char) (c + 32 + 1);
        }
        return new String(result);
    }
}
